$(function () {
  // 1.1 获取裁剪区域的 DOM 元素
  var $image = $("#image");
  // 1.2 配置选项
  const options = {
    // 纵横比
    aspectRatio: 1,
    // 指定预览区域
    preview: ".img-preview",
  };

  // 1.3 创建裁剪区域
  $image.cropper(options);

  // 需求2、头像上传
  $("#chooseImageBtn").on("click", function () {
    $("#chooseImageInp").click();
  });
  // 需求3、选择图片，同步渲染区域
  $("#chooseImageInp").on("change", function () {
    // 获取文件对象
    let file = this.files[0];
    // 在内存中生成一个虚拟路径
    let newImgURL = URL.createObjectURL(file);
    // console.log(newImgURL);
    // 给浏览图片区域赋值
    $image
      .cropper("destroy") // 销毁旧的裁剪区域
      .attr("src", newImgURL) // 重新设置图片路径
      .cropper(options); // 重新初始化裁剪区域
  });
  // 需求4、上传头像
  $("#uploadBtn").on("click", function () {
    // 吧裁剪区域的图片，转换为base64格式的字符串
    var dataURL = $image
      .cropper("getCroppedCanvas", {
        // 创建一个 Canvas 画布
        width: 100,
        height: 100,
      })
      .toDataURL("image/png"); // 将 Canvas 画布上的内容，转化为 base64 格式的字符串
    console.log(dataURL);
    // 调用接口，发送请求
    axios({
      method: "POST",
      url: "/my/update/avatar",
      data: "avatar=" + encodeURIComponent(dataURL),
    }).then((res) => {
      if (res.data.status !== 0) {
        return layui.layer.msg(res.data.message);
      }
      // 成功：提示+刷新父页面头像渲染
      layui.layer.msg("恭喜你，更改用户头像成功！");
      window.parent.getUserInfo();
    });
  });
});
